<!--
* @author wn
* @date 2022/04/18 10:22:39
* @description:顶部通栏
!-->
<template>
	<nav class="app-top-nav">
		<div class="container">
			<ul>
				<template v-if="profile.token">
					<li>
						<router-link to="/member">
							<i class="iconfont icon-user"></i>
							{{ profile.account }}
						</router-link>
					</li>
					<li><a @click="logout" href="javascript:;">退出登录</a></li>
				</template>
				<template v-else>
					<li><router-link to="/login">请先登录</router-link></li>
					<li><router-link to="/register">免费注册</router-link></li>
				</template>
				<li>
					<router-link to="/member/order" href="javascript:;">
						我的订单
					</router-link>
				</li>
				<li>
					<router-link to="/member" href="javascript:;">会员中心</router-link>
				</li>
				<li><a href="javascript:;">帮助中心</a></li>
				<li><a href="javascript:;">关于我们</a></li>
				<li>
					<a href="javascript:;"><i class="iconfont icon-phone"></i>手机版</a>
				</li>
			</ul>
		</div>
	</nav>
</template>
<script>
import { computed } from 'vue'
import { useStore } from 'vuex'
import { useRouter } from 'vue-router'

export default {
	name: 'AppNavBar',
	setup() {
		// vuex 获取用户登陆信息 控制顶部导航栏 状态的切换
		// computed 生成响应式
		const store = useStore()
		const profile = computed(() => store.state.user.profile)
		// 退出登陆
		const router = useRouter()
		const logout = () => {
			// 1 清空 vuex profile 数据即可
			store.commit('user/setUser', {})
			// 2 清空本地购物车数据
			store.commit('cart/setCart', [])
			// 3 跳转登录页面
			router.push('/login')
		}
		return { profile, logout }
	},
}
</script>
<style scoped lang="less">
.app-top-nav {
	background: #333;
	ul {
		display: flex;
		height: 53px;
		justify-content: flex-end;
		align-items: center;
		li {
			a {
				padding: 0 15px;
				color: #cdcdcd;
				line-height: 1;
				display: inline-block;
				i {
					font-size: 14px;
					margin-right: 2px;
				}
				&:hover {
					color: @xtxColor;
				}
			}
			// ~ 选择器作用：选择当前选择器后的所有元素
			~ li {
				a {
					border-left: 2px solid #666;
				}
			}
		}
	}
}
</style>
